* If allowed, create and remove non-flavor-specific
/usr/local/share/emacs/site-lisp.
- -- Rob Browning <rlb@defaultvalue.org> Wed, 04 Jul 2007 23:36:10 -0700
+ * Fix cc-mode local variable problem. Thanks to Sven Joachim
+ <sven_joachim@web.de> for forwarding the upstream patch.
+ (closes: #428898) [rlb]
+
+ -- Rob Browning <rlb@defaultvalue.org> Wed, 04 Jul 2007 23:38:56 -0700
emacs22 (22.0.99+1-1) experimental; urgency=low
--- /dev/null
+* A problem with cc-mode and file local variables has been fixed.
+ Patch: fix-cc-mode-local-vars.diff
+ Provided-by: Sven Joachim <sven_joachim@web.de>
+ Date: Wed, 20 Jun 2007 15:36:23 +0200
+ Added-by: Rob Browning <rlb@defaultvalue.org>
+ Status: appears to be incorporated upstream
+
+ Upstream changelog entry:
+
+ 2007-06-18 Alan Mackenzie <acm@muc.de>
+
+ * progmodes/cc-mode.el (c-remove-any-local-eval-or-mode-variables):
+ When removing lines, also remove the \n. Correction of patch of
+ 2007-04-21.
+
+Index: sid/lisp/progmodes/cc-mode.el
+===================================================================
+--- sid.orig/lisp/progmodes/cc-mode.el
++++ sid/lisp/progmodes/cc-mode.el
+@@ -790,7 +790,8 @@
+ ;; If the buffer specifies `mode' or `eval' in its File Local Variable list
+ ;; or on the first line, remove all occurrences. See
+ ;; `c-postprocess-file-styles' for justification. There is no need to save
+- ;; point here, or even bother too much about the buffer contents.
++ ;; point here, or even bother too much about the buffer contents. However,
++ ;; DON'T mess up the kill-ring.
+ ;;
+ ;; Most of the code here is derived from Emacs 21.3's `hack-local-variables'
+ ;; in files.el.
+@@ -819,8 +820,8 @@
+ (regexp-quote suffix)
+ "$")
+ nil t)
+- (beginning-of-line)
+- (delete-region (point) (progn (end-of-line) (point)))))
++ (forward-line 0)
++ (delete-region (point) (progn (forward-line) (point)))))
+
+ ;; Delete the first line, if we've got one, in case it contains a mode spec.
+ (unless (and lv-point
+@@ -828,7 +829,8 @@
+ (forward-line 0)
+ (bobp)))
+ (goto-char (point-min))
+- (delete-region (point) (progn (end-of-line) (point))))))
++ (unless (eobp)
++ (delete-region (point) (progn (forward-line) (point)))))))
+
+ (defun c-postprocess-file-styles ()
+ "Function that post processes relevant file local variables in CC Mode.